#ifndef ACTIONHANDLER_H
#define ACTIONHANDLER_H

#include "MetaStorageBase.h"
#include "EventScheme.h"
#include "ORACLEADAPTER.h"
#include "MetaXmlHandler.h"
#include <list>
#include "Action.h"
#include "Export.h"

class INFOBUS_API ActionHandler : public MetaStorageBase
{
public:
  ActionHandler();
  ~ActionHandler();

  void SelectActionData(const char * pAction, Action ** ppAction);
  void SearchActionMetaData(const char * pEvent, Action ** ppAction);
  void StoreActionForLog(Action * pAction);
  void StoreActionProcedureForLog(long lLastLogId, const char* pszActionName, std::list<Step*>& liProcedure);
  void ActionHandler::StoreActionTraceForLog(long lLastLogId, const char* pszActionName, std::list<Trace*>& liTraces);
  long getLastLogIdForLog();

  virtual void saveObject(MessageQueueObject * obj);
  virtual std::list<MessageQueueObject*>& search(const char* pszExec, const char* pszClassName, const char* pszMethodName, std::list<MessageQueueObject*>& list);
};












#endif
